Growth of data in many industries is overwhelming hardware-based storage. Software-defined storage platforms provide a solution for scaling storage across physical, virtual, and cloud resources. There are various storage providers that can be used for software-based storage services. These storage providers have different features and properties. Currently, interacting with a particular storage provider entails knowledge of the specific features of the underlying storage service. Moreover, when a system administrator wants to add or remove a new storage provider, the system administrator should know the features of this new storage provider and how adding or removing the storage provider affects the entire system. The system administrator also has to manually adjust the system to allow for the addition or removal of the new storage provider.